package ua.eug.airv1.weapon;

import ua.eug.airv1.map.Tile;
import ua.eug.airv1.orders.WeaponOrder;
import ua.eug.airv1.utils.EDirection;

// Weapon : planes, missiles, commandcenter
public interface IWeapon {
	public Boolean doAirDamage(IWeapon killer);
	public Boolean doGroundDamage(IWeapon killer);
	public void fireToEnemy();
	
	// Weapon position
	public void setTile(Tile t);
	public Tile getTile();
	
	// Abilities
	public EDirection getDirection();
	public WeaponOrder getOrder();
	public int getOwner(); // my or enemy?
	
	// how far we can move: fire distanse for missiles or move distance for planes
	public int getNMoves();
	
	// animate move, true if animation in progress (i.e. have order)
	// at end of animation must clear order
	public Boolean aniMove(float seconds);
}
